package com.example.musicserver.mapper;

import com.example.musicserver.model.Music;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: Hua YY
 * Date: 2025-01-20
 * Time: 14:57
 */
@Mapper
public interface LoveMusicMapper {
    /**
     * 检查是否已经收藏过该音乐
     * @param userId
     * @param musicId
     * @return
     */
    Music findLoveMusicByMusicIdAndUserId(int musicId,int userId);

    /**
     * 点赞/收藏音乐
     * @param userId
     * @param musicId
     * @return
     */
    boolean insertLoveMusic(int userId , int musicId);

    /**
     * 如果没有传入具体的歌曲名，显示当前用户收藏的所有音乐
     * @param userId
     * @return
     */
    List<Music> findAllLoveMusicByUserId(int userId);

    /**
     * 根据某个用户id和歌曲名称查询，某个用户收藏的音乐
     * @param musicName
     * @param userId
     * @return
     */
    List<Music> findLoveMusicByKeyAndUserId(String musicName , int userId);

    /**
     * 移除收藏的音乐，但不是删除音乐本身，只是从数据库中删除了记录
     * @param userId
     * @param musicId
     * @return
     */
    int deleteLoveMusic(int userId , int musicId);

    /**
     * 当删除库中的⾳乐的时候，同步删除lovemusic中的数据
     * @param musicId
     * @return
     */
    int deleteLoveMusicById(int musicId);
}


















